ProBuilder快速关卡建模实践
Unity在2018.1版本正式推出了ProBuilder快速建模套件。ProBuilder的前生是Unity资源商店中的一款热门插件帮助开发者实现在Unity引擎中直接进行建模以快速生成关卡用于游戏玩法测试。本文由Unity平台部技术总监杨栋为大家讲解如何使用ProBuilder快速关卡建模。
ProBuilder套件介绍
ProBuilder套件包括以下三个部分:
ProBuilder:用于直接在Unity的Scene窗口中进行建模。
ProGrid: 用于在建模的过程中进行精确的网格吸附操作,确保所建模型拥有正确的尺寸大小。
PolyBrush (Beta): 可被用于对模型网格进行雕刻操作,工作原理类似于ZBrush和Mudbox,甚至连很多快捷键都是相同的。
获取资源
你可以访问Unity资源商店进行下载。
ProBuilder:
https://assetstore.unity.com/packages/tools/modeling/probuilder-111418
ProGrid:
https://assetstore.unity.com/packages/3d/progrids-111425
PolyBrush (Beta):
https://assetstore.unity.com/packages/3d/polybrush-beta-111427
ProBuilder与ProGrid也可以使用Unity 2018.1版本中的Package Manager下载,你可以访问Unity的顶部菜单Window > Package Manager中找到,如下图所示。
与传统关卡建模区别
传统关卡建模
传统的关卡建模必须在第三方软件比如Maya或者Blender这样的工具里面完成,然后以FBX文件格式导入Unity中。
优点
可以充分使用第三方建模工具的强大建模能力,生成高品质模型。
可以对角色进行骨骼绑定和蒙皮刷权重。
制作角色动画。
缺点
需要依赖专业美术人员的支持。
因为需要导出3D软件然后导入Unity中才能使用,会导致迭代时间加长。
ProBuilde关卡建模
将ProBuilder工具集应用到此流程中以后,可以直接在Unity中完成快速关卡建模的工作。
优点
直接在Unity中就可以完成初级甚至最终建模工作。
因为ProBuilder工具集是基于Unity编辑器API开发的,所以操作习惯和Unity完全一致,学习曲线很低,拥有基础建模知识的开发者可以很快学会驾驭相关工具,快速生成关卡用于游戏玩法测试。
ProBuilder拥有完整的UV Unwrapping和纹理贴图功能,开发者甚至可以直接生成游戏关卡中所需的最终模型。
缺点
只能进行多边形Polygon建模,目前还没有曲面建模工具。
无法对模型进行骨骼绑定和蒙皮刷权重。
无法做角色动画。
ProBuilder功能介绍
为了具体演示ProBuilder丰富的Polygon建模功能,我们首先从DeviantArt网站上下载了一张概念图,在Unity中用ProBuilder搭建了一个白模关卡,如下图所示。
概念设计图
在Unity中使用ProBuilder创建的白模关卡
ProBuilder,ProGrid和PolyBrush的功能众多,一篇文章不足以直观地教会大家所有的功能。所以本文会重点介绍上述场景的是如何使用ProBuilder和ProGrid搭建出来的。我们分成了5个步骤来完成上述的场景。
在开始建模之前,请确保已经完成ProBuilder,ProGrid的安装。如果你不需要使用雕刻功能,PolyBrush可以不安装。但是强烈建议与ProBuilder一起安装ProGrid。因为建模过程中我们要确保生成的模型大小贴近现实世界的尺寸。Unity的1个单位是代表了现实世界中的1米,ProGrid的默认吸附网格单位也是1米,非常利于计算物体的尺寸。安装完以后按照下图打开ProBuilder和ProGrid的UI。
打开ProBuilder窗口
打开ProGrid窗口
第一步:搭建白模
这个步骤中,我们所要做的是使用ProBuilder的建模工具为整个场景搭建基础。
我们所用的工具如下:
New Shape工具:用于生成最基本的Cube和楼梯网格。直接点击New Shape菜单,或者Alt/Option+点击New Shape菜单会出现程序化生成网格的Shape Tool窗口,在此窗口可以选择不同形状的预制的程序化网格形状。
生成Cube
生成楼梯Stair
预制的程序化网格形状
New Poly Shape工具:用于生成不规则形状,可以直接在Scene中画出想要的形状,拉伸就可以做出网格。
第二步:添加更多细节
在完成了基础的模型以后,我们接着可以往上面添加更多的细节。
上图中大家可以看到,我们为关卡添加了卫星天线,城楼,建筑物之间的木板桥,以及更多的房屋细节。
在Scene窗口顶部“模式选择”区,可以选择Object,Vertex,Edge或者Face四种模式。
选择其中的一种模式,左侧“模式操作工具组”的菜单会随之变化,而且会自动灰掉当前条件下无法使用的菜单,防止误操作。
Scene窗口的左上角是“ProGrid界面”,用于控制网格的大小,开关状态,以及网格吸附的方向,你可以选择X,Y或者Z轴,或者选择3D也就是三个方向同时选择。
另一个常用的操作是“按住Shift键+拖动移动控件”,可以快速拉伸出一个新的面。
第三步:使用Vertex Color做模型分类
当完成部分/大部分模型以后,我们可以使用Vertex Colors功能为场景中的模型进行分组。也可以避免整个场景都是白色,看着眼花。
Vertex Colors功能非常简单易用,如下图所示,打开菜单,选择用哪个界面(Palette或者Painter)来做颜色的挑选。
然后选择需要上色的模型,选择进入Object,Vertex,Edge或者Face模式,点击Apply按钮即可应用当前选择的颜色。
第四步:添加碰撞体
建完整个关卡的模型以后,我们可以为其添加隐形的Collider或者Trigger,用于物理碰撞检测之用。
在ProBuilder中创建隐形的Collider或者Trigger非常的简单和直观。如下图所示,你可以在场景中用ProBuilder工具生成简单的Cube,然后在Object模式下使用Set Trigger或者Set Collider直接将其转换成图中的绿色半透明碰撞体(运行时这些绿色的碰撞体不会出现在画面中)。
第五步:使用Boolean操作完成门洞切割添加细节
Boolean切割操作前
Boolean操作菜单
打开Boolean操作窗口以后,左边拖入“被切割物体”,右边拖入用于切割的物体,比如图中的白色方块,用于在斜坡上切出一个门洞。然后选择Operation为Subtraction,点击Apply即可完成Boolean切割操作。
虽然目前此功能还被标记为Experimental,但是只要网格模型的面片数很高,比如几十万个面,正常使用是没有问题的。当然,我们也非常希望广大用户在不同的情况下使用此工具,给我们提供反馈。
Boolean操作完成以后,原有的两个物体并不会消失,ProBuilder会生成一个新的带门洞的斜坡模型。原有的模型还可以被用于其他切割操作,或者用于其它地方。
额外功能
普通模型网格转换成ProBuilder可编辑网格
未转换成ProBuilder可编辑之前的模型(任何导入Unity中的网格都可以)。
转换成ProBuilder可编辑模型以后,ProBuilder相关编辑菜单显示了出来,可以进行全部的ProBuilder操作。
使用Unity FBX Exporter与3D软件进行资产迭代
在Unity中使用ProBuilder完成白模建模以后,可以将所有场景中的物体一起通过Unity FBX Exporter导入Maya/3dsmax这样的3D建模软件中,可以让美术人员作为参考把最终版本的精细模型完成。
当然,因为ProBuilder生成的纯粹的模型网格,你也可以使用ProBuilder菜单中的Export按钮将整个网格用obj,stl,ply等文件格式进行导出。
小结
ProBuilder套件的功能非常丰富,Unity官方技术团队会安排后续直播课程详细讲解如何使用这些工具,尽请关注! 更多Unity技术相关内容请访问Unity官方中文论坛(Unitychina.cn) !
推荐阅读
点击“阅读原文”访问Unity官方中文论坛